The Polymorphic Rewriting-calculus: [Type Checking vs. Type Inference]

نویسندگان

  • Luigi Liquori
  • Benjamin Wack
چکیده

The Rewriting-calculus (Rho-calculus), is a minimal framework embedding Lambdacalculus and Term Rewriting Systems, by allowing abstraction on variables and patterns. The Rho-calculus features higher-order functions (from Lambda-calculus) and pattern-matching (from Term Rewriting Systems). In this paper, we study extensively a second-order Rho-calculus à la Church (RhoF) that enjoys subject reduction, type uniqueness, and decidability of typing. Then we apply a classical type-erasing function to RhoF, to obtain an untyped Rho-calculus à la Curry (uRhoF). The related type inference system is isomorphic to RhoF and enjoys subject reduction. Both RhoF and uRhoF systems can be considered as minimal calculi for polymorphic rewriting-based programming languages. We discuss the possibility of a logic existing underneath the type systems via a Curry-Howard Isomorphism.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Type Checking and Inference for Polymorphic and Existential Types

This paper proves undecidability of type checking and type inference problems in some variants of typed lambda calculi with polymorphic and existential types. First, type inference in the domain-free polymorphic lambda calculus is proved to be undecidable, and then it is proved that type inference is undecidable in the negation, conjunction, and existence fragment of the domain-free typed lambd...

متن کامل

Type Checking and Inference for Polymorphic and Existential Types in Multiple-Quantifier and Type-Free Systems

A multiple quantifier is a quantifier having inference rules that introduce or eliminate arbitrary number of quantifiers by one inference. This paper introduces the lambda calculus with negation, conjunction, and multiple existential quantifiers, and the lambda calculus with implication and multiple universal quantifiers. Their type checking and type inference are proved to be undecidable. This...

متن کامل

Types for Nominal Rewriting?

We define a type inference system for Nominal Rewriting where the types associated to terms are polymorphic (built from a set of base data sorts, type variables, and user-defined type constructors). In contrast with standard term rewriting systems or the λ-calculus, a typing environment for nominal rewriting includes type information for atoms, variables and function symbols. We give a syntax-d...

متن کامل

Automated soundness checking of a programming logic for Haskell

P-logic is a verification logic for the programming language Haskell. Inference rules are expressed in sequent calculus for each of the term constructs of Haskell. Validating soundness of these rules is an essential task. Most rules of P-logic are polymorphic, independent of Haskell’s type classes. The paper develops a parametricity principle for predicates of P-logic, which justifies checking ...

متن کامل

Decidability of Type-Checking in the Calculus of Algebraic Constructions with Size Annotations

Since Val Tannen's pioneering work on the combination of simply-typed λ-calculus and rst-order rewriting [11], many authors have contributed to this subject by extending it to richer typed λ-calculi and rewriting paradigms, culminating in the Calculus of Algebraic Constructions. These works provide theoretical foundations for type-theoretic proof assistants where functions and predicates are de...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • Electr. Notes Theor. Comput. Sci.

دوره 117  شماره 

صفحات  -

تاریخ انتشار 2005